package com.yidu.qianfeng.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yidu.qianfeng.common.bean.transport.TransportProtocol;
import com.yidu.qianfeng.common.bean.waybill.Waybill;
import com.yidu.qianfeng.common.bean.waybill.WaybillCondition;
import com.yidu.qianfeng.common.bean.waybill.WaybillWrap;
import com.yidu.qianfeng.common.util.LayuiJsonWrap;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Author: TangSheng
 * @Description: 运单实体映射
 * @Date Created in 15:53 2021/3/16
 * @since 1.0
 */

@Repository("waybillMapper")
@Mapper
public interface WaybillMapper extends BaseMapper<Waybill> {

    /**
     *  分页查询运单
     * @param offset 偏移量
     * @param count 显示条目数
     * @return 当前页的运单list
     */
    public List<WaybillWrap> selectWaybillLimit(@Param("offset") int offset, @Param("count") int count);

    /**
     * 条件查询运单分页
     * @param condition
     * @return 结果
     */
    public List<WaybillWrap> selectWaybillCondition(@Param("condition") WaybillCondition condition);

    /**
     * 条件查询运单，总共条目数
     * @param condition 条件
     * @return 根据条件能查询出的运单条目数
     */
    public Integer selectWaybillCountByCondition(@Param("condition") WaybillCondition condition);

    /**
     * 查询运单是否已装车
     * @param waybillConsignNum 托运单号
     * @return 结果 为0则未装车，为1则已装车
     */
    public Integer selectWaybillIsTrans(@Param("waybillConsignNum") String waybillConsignNum);

    /**
     * 查询司机正在运输的运输单的出发地和到达地
     * @param carNumber 司机车号
     * @return 运输协议
     */
    public TransportProtocol selectDriverNowTrans(String carNumber);

}
